﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
using System.ComponentModel;

namespace TA.Turbo
{
	/// <summary>
	/// Base class for all "special" controls used by Turbo.
	/// </summary>
	/// <remarks>
	/// "Special" controls are those that are not rendered but rather used for 
	/// other purposes, such as referencing other controls.
	/// </remarks>
	[ParseChildren(true)]
	[PersistChildren(false)]
	public abstract class BaseSpecialControl : BaseControl
	{
		#region PUBLIC
		#region PROPS
		/// <summary>
		/// This property has no effect.
		/// </summary>
		[EditorBrowsable(EditorBrowsableState.Never)]
		[Browsable(false)]
		[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
		public override bool Visible
		{
			get
			{
				return base.Visible;
			}
			set
			{
				base.Visible = value;
			}
		}
		#endregion
		#region METHODS
		/// <summary>
		/// Outputs nothing.
		/// </summary>
		/// <param name="writer"></param>
		[EditorBrowsable(EditorBrowsableState.Never)]
		public sealed override void RenderControl(HtmlTextWriter writer)
		{
		}
		#endregion
		#endregion
	}
}
